home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / controls.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  46.9 KB  |  1,152 lines

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1998 by Borland International
  3. // All rights reserved
  4.  
  5. // (DO NOT EDIT: machine generated header) 'Controls.pas' rev: 3.00
  6.  
  7. #ifndef ControlsHPP
  8. #define ControlsHPP
  9. #include <Imm.hpp>
  10. #include <Menus.hpp>
  11. #include <Graphics.hpp>
  12. #include <SysUtils.hpp>
  13. #include <Classes.hpp>
  14. #include <Windows.hpp>
  15. #include <Messages.hpp>
  16. #include <SysInit.hpp>
  17. #include <System.hpp>
  18.  
  19. //-- user supplied -----------------------------------------------------------
  20. namespace Controls
  21. {
  22. enum TCursor
  23. {
  24. crDefault     =  0, 
  25. crNone        = -1, 
  26. crArrow       = -2, 
  27. crCross       = -3, 
  28. crIBeam       = -4, 
  29. crSize        = -5, 
  30. crSizeNESW    = -6, 
  31. crSizeNS      = -7, 
  32. crSizeNWSE    = -8, 
  33. crSizeWE      = -9, 
  34. crUpArrow     = -10,
  35. crHourGlass   = -11,
  36. crDrag        = -12,
  37. crNoDrop      = -13,
  38. crHSplit      = -14,
  39. crVSplit      = -15,
  40. crMultiDrag   = -16,
  41. crSQLWait     = -17,
  42. crNo          = -18,
  43. crAppStart    = -19,
  44. crHelp        = -20,
  45. crHandPoint   = -21,
  46. crSizeAll     = -22,
  47. crMax         = 0x7FFF
  48. };
  49. }
  50.  
  51. namespace Controls
  52. {
  53. //-- type declarations -------------------------------------------------------
  54. typedef Messages::TWMNoParams  TCMActivate;
  55.  
  56. typedef Messages::TWMNoParams  TCMDeactivate;
  57.  
  58. typedef Messages::TWMNoParams  TCMGotFocus;
  59.  
  60. typedef Messages::TWMNoParams  TCMLostFocus;
  61.  
  62. typedef Messages::TWMKey  TCMDialogKey;
  63.  
  64. typedef Messages::TWMKey  TCMDialogChar;
  65.  
  66. typedef Messages::TWMNCHitTest  TCMHitTest;
  67.  
  68. typedef Messages::TWMNoParams  TCMEnter;
  69.  
  70. typedef Messages::TWMNoParams  TCMExit;
  71.  
  72. typedef Messages::TWMMouse  TCMDesignHitTest;
  73.  
  74. typedef Messages::TWMKey  TCMWantSpecialKey;
  75.  
  76. class DELPHICLASS TControl;
  77. class DELPHICLASS TWinControl;
  78. typedef void __fastcall (__closure *TWndMethod)(Messages::TMessage &Message);
  79.  
  80. enum Controls__5 { csAcceptsControls, csCaptureMouse, csDesignInteractive, csClickEvents, csFramed, 
  81.     csSetCaption, csOpaque, csDoubleClicks, csFixedWidth, csFixedHeight, csNoDesignVisible, csReplicatable, 
  82.     csNoStdEvents, csDisplayDragImage, csReflector };
  83.  
  84. typedef Set<Controls__5, csAcceptsControls, csReflector>  TControlStyle;
  85.  
  86. enum Controls__4 { csLButtonDown, csClicked, csPalette, csReadingState, csAlignmentNeeded, csFocusing, 
  87.     csCreating, csPaintCopy };
  88.  
  89. typedef Set<Controls__4, csLButtonDown, csPaintCopy>  TControlState;
  90.  
  91. enum TAlign { alNone, alTop, alBottom, alLeft, alRight, alClient };
  92.  
  93. enum TDragMode { dmManual, dmAutomatic };
  94.  
  95. enum Controls__6 { sfLeft, sfTop, sfWidth, sfHeight, sfFont };
  96.  
  97. typedef Set<Controls__6, sfLeft, sfFont>  TScalingFlags;
  98.  
  99. enum TMouseButton { mbLeft, mbRight, mbMiddle };
  100.  
  101. typedef void __fastcall (__closure *TMouseEvent)(System::TObject* Sender, TMouseButton Button, Classes::TShiftState 
  102.     Shift, int X, int Y);
  103.  
  104. typedef void __fastcall (__closure *TMouseMoveEvent)(System::TObject* Sender, Classes::TShiftState Shift
  105.     , int X, int Y);
  106.  
  107. typedef void __fastcall (__closure *TDragDropEvent)(System::TObject* Sender, System::TObject* Source
  108.     , int X, int Y);
  109.  
  110. enum TDragState { dsDragEnter, dsDragLeave, dsDragMove };
  111.  
  112. typedef void __fastcall (__closure *TDragOverEvent)(System::TObject* Sender, System::TObject* Source
  113.     , int X, int Y, TDragState State, bool &Accept);
  114.  
  115. class DELPHICLASS TDragObject;
  116. typedef void __fastcall (__closure *TStartDragEvent)(System::TObject* Sender, TDragObject* &DragObject
  117.     );
  118.  
  119. typedef void __fastcall (__closure *TEndDragEvent)(System::TObject* Sender, System::TObject* Target, 
  120.     int X, int Y);
  121.  
  122. struct TCMDrag;
  123. typedef System::AnsiString TCaption;
  124.  
  125. class DELPHICLASS TCustomImageList;
  126. class PASCALIMPLEMENTATION TControl : public Classes::TComponent 
  127. {
  128.     typedef Classes::TComponent inherited;
  129.     
  130. private:
  131.     TWinControl* FParent;
  132.     TWndMethod FWindowProc;
  133.     int FLeft;
  134.     int FTop;
  135.     int FWidth;
  136.     int FHeight;
  137.     TControlStyle FControlStyle;
  138.     TControlState FControlState;
  139.     bool FDesktopFont;
  140.     bool FVisible;
  141.     bool FEnabled;
  142.     bool FParentFont;
  143.     bool FParentColor;
  144.     TAlign FAlign;
  145.     TDragMode FDragMode;
  146.     bool FIsControl;
  147.     char *FText;
  148.     Graphics::TFont* FFont;
  149.     Graphics::TColor FColor;
  150.     TCursor FCursor;
  151.     TCursor FDragCursor;
  152.     Menus::TPopupMenu* FPopupMenu;
  153.     System::AnsiString FHint;
  154.     int FFontHeight;
  155.     TScalingFlags FScalingFlags;
  156.     bool FShowHint;
  157.     bool FParentShowHint;
  158.     TMouseEvent FOnMouseDown;
  159.     TMouseMoveEvent FOnMouseMove;
  160.     TMouseEvent FOnMouseUp;
  161.     TDragDropEvent FOnDragDrop;
  162.     TDragOverEvent FOnDragOver;
  163.     TStartDragEvent FOnStartDrag;
  164.     TEndDragEvent FOnEndDrag;
  165.     Classes::TNotifyEvent FOnClick;
  166.     Classes::TNotifyEvent FOnDblClick;
  167.     void __fastcall CheckMenuPopup(const Windows::TSmallPoint Pos);
  168.     void __fastcall DoDragMsg(TCMDrag &DragMsg);
  169.     void __fastcall DoMouseDown(Messages::TWMMouse &Message, TMouseButton Button, Classes::TShiftState 
  170.         Shift);
  171.     void __fastcall DoMouseUp(Messages::TWMMouse &Message, TMouseButton Button);
  172.     void __fastcall FontChanged(System::TObject* Sender);
  173.     Windows::TRect __fastcall GetBoundsRect(void);
  174.     int __fastcall GetClientHeight(void);
  175.     int __fastcall GetClientWidth(void);
  176.     bool __fastcall GetMouseCapture(void);
  177.     System::AnsiString __fastcall GetText(void);
  178.     void __fastcall InvalidateControl(bool IsVisible, bool IsOpaque);
  179.     bool __fastcall IsColorStored(void);
  180.     bool __fastcall IsFontStored(void);
  181.     bool __fastcall IsShowHintStored(void);
  182.     void __fastcall ReadIsControl(Classes::TReader* Reader);
  183.     void __fastcall SetAlign(TAlign Value);
  184.     void __fastcall SetBoundsRect(const Windows::TRect &Rect);
  185.     void __fastcall SetClientHeight(int Value);
  186.     void __fastcall SetClientSize(const tagPOINT &Value);
  187.     void __fastcall SetClientWidth(int Value);
  188.     void __fastcall SetColor(Graphics::TColor Value);
  189.     void __fastcall SetCursor(TCursor Value);
  190.     void __fastcall SetDesktopFont(bool Value);
  191.     void __fastcall SetEnabled(bool Value);
  192.     void __fastcall SetFont(Graphics::TFont* Value);
  193.     void __fastcall SetHeight(int Value);
  194.     void __fastcall SetLeft(int Value);
  195.     void __fastcall SetMouseCapture(bool Value);
  196.     void __fastcall SetParentColor(bool Value);
  197.     void __fastcall SetParentFont(bool Value);
  198.     void __fastcall SetShowHint(bool Value);
  199.     void __fastcall SetParentShowHint(bool Value);
  200.     void __fastcall SetPopupMenu(Menus::TPopupMenu* Value);
  201.     void __fastcall SetText(const System::AnsiString Value);
  202.     void __fastcall SetTop(int Value);
  203.     void __fastcall SetVisible(bool Value);
  204.     void __fastcall SetWidth(int Value);
  205.     void __fastcall SetZOrderPosition(int Position);
  206.     void __fastcall WriteIsControl(Classes::TWriter* Writer);
  207.     MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
  208.     MESSAGE void __fastcall WMNCLButtonDown(Messages::TWMNCHitMessage &Message);
  209.     MESSAGE void __fastcall WMRButtonDown(Messages::TWMMouse &Message);
  210.     MESSAGE void __fastcall WMMButtonDown(Messages::TWMMouse &Message);
  211.     MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message);
  212.     MESSAGE void __fastcall WMRButtonDblClk(Messages::TWMMouse &Message);
  213.     MESSAGE void __fastcall WMMButtonDblClk(Messages::TWMMouse &Message);
  214.     MESSAGE void __fastcall WMMouseMove(Messages::TWMMouse &Message);
  215.     MESSAGE void __fastcall WMLButtonUp(Messages::TWMMouse &Message);
  216.     MESSAGE void __fastcall WMRButtonUp(Messages::TWMMouse &Message);
  217.     MESSAGE void __fastcall WMMButtonUp(Messages::TWMMouse &Message);
  218.     MESSAGE void __fastcall WMCancelMode(Messages::TWMNoParams &Message);
  219.     MESSAGE void __fastcall CMVisibleChanged(Messages::TMessage &Message);
  220.     MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
  221.     MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  222.     MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
  223.     MESSAGE void __fastcall CMParentFontChanged(Messages::TMessage &Message);
  224.     MESSAGE void __fastcall CMSysFontChanged(Messages::TMessage &Message);
  225.     MESSAGE void __fastcall CMParentColorChanged(Messages::TMessage &Message);
  226.     MESSAGE void __fastcall CMParentShowHintChanged(Messages::TMessage &Message);
  227.     MESSAGE void __fastcall CMHitTest(Messages::TWMNCHitTest &Message);
  228.     MESSAGE void __fastcall CMMouseEnter(Messages::TMessage &Message);
  229.     MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message);
  230.     MESSAGE void __fastcall CMDesignHitTest(Messages::TWMMouse &Message);
  231.     
  232. protected:
  233.     void __fastcall Changed(void);
  234.     DYNAMIC void __fastcall ChangeScale(int M, int D);
  235.     DYNAMIC void __fastcall Click(void);
  236.     DYNAMIC void __fastcall DblClick(void);
  237.     virtual void __fastcall DefaultHandler(void *Message);
  238.     virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
  239.     DYNAMIC void __fastcall DragCanceled(void);
  240.     DYNAMIC void __fastcall DragOver(System::TObject* Source, int X, int Y, TDragState State, bool &Accept
  241.         );
  242.     DYNAMIC void __fastcall DoEndDrag(System::TObject* Target, int X, int Y);
  243.     DYNAMIC void __fastcall DoStartDrag(TDragObject* &DragObject);
  244.     virtual tagPOINT __fastcall GetClientOrigin(void);
  245.     virtual Windows::TRect __fastcall GetClientRect(void);
  246.     virtual HDC __fastcall GetDeviceContext(HWND &WindowHandle);
  247.     virtual TCustomImageList* __fastcall GetDragImages(void);
  248.     DYNAMIC HPALETTE __fastcall GetPalette(void);
  249.     DYNAMIC Classes::TComponent* __fastcall GetParentComponent(void);
  250.     DYNAMIC Menus::TPopupMenu* __fastcall GetPopupMenu(void);
  251.     DYNAMIC bool __fastcall HasParent(void);
  252.     DYNAMIC void __fastcall MouseDown(TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  253.     DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  254.     DYNAMIC void __fastcall MouseUp(TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  255.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  256.         );
  257.     DYNAMIC bool __fastcall PaletteChanged(bool Foreground);
  258.     virtual void __fastcall ReadState(Classes::TReader* Reader);
  259.     DYNAMIC void __fastcall RequestAlign(void);
  260.     void __fastcall SendCancelMode(TControl* Sender);
  261.     virtual void __fastcall SetDragMode(TDragMode Value);
  262.     virtual void __fastcall SetParent(TWinControl* AParent);
  263.     DYNAMIC void __fastcall SetParentComponent(Classes::TComponent* Value);
  264.     virtual void __fastcall SetName(const System::AnsiString Value);
  265.     DYNAMIC void __fastcall SetZOrder(bool TopMost);
  266.     void __fastcall UpdateBoundsRect(const Windows::TRect &R);
  267.     DYNAMIC void __fastcall VisibleChanging(void);
  268.     virtual void __fastcall WndProc(Messages::TMessage &Message);
  269.     __property System::AnsiString Caption = {read=GetText, write=SetText};
  270.     __property Graphics::TColor Color = {read=FColor, write=SetColor, stored=IsColorStored, default=-2147483643
  271.         };
  272.     __property bool DesktopFont = {read=FDesktopFont, write=SetDesktopFont, default=0};
  273.     __property TCursor DragCursor = {read=FDragCursor, write=FDragCursor, default=-12};
  274.     __property TDragMode DragMode = {read=FDragMode, write=SetDragMode, default=0};
  275.     __property Graphics::TFont* Font = {read=FFont, write=SetFont, stored=IsFontStored};
  276.     __property bool IsControl = {read=FIsControl, write=FIsControl, nodefault};
  277.     __property bool MouseCapture = {read=GetMouseCapture, write=SetMouseCapture, nodefault};
  278.     __property bool ParentColor = {read=FParentColor, write=SetParentColor, default=1};
  279.     __property bool ParentFont = {read=FParentFont, write=SetParentFont, default=1};
  280.     __property bool ParentShowHint = {read=FParentShowHint, write=SetParentShowHint, default=1};
  281.     __property Menus::TPopupMenu* PopupMenu = {read=FPopupMenu, write=SetPopupMenu};
  282.     __property TScalingFlags ScalingFlags = {read=FScalingFlags, write=FScalingFlags, nodefault};
  283.     __property System::AnsiString Text = {read=GetText, write=SetText};
  284.     __property char * WindowText = {read=FText, write=FText};
  285.     __property Classes::TNotifyEvent OnClick = {read=FOnClick, write=FOnClick};
  286.     __property Classes::TNotifyEvent OnDblClick = {read=FOnDblClick, write=FOnDblClick};
  287.     __property TDragDropEvent OnDragDrop = {read=FOnDragDrop, write=FOnDragDrop};
  288.     __property TDragOverEvent OnDragOver = {read=FOnDragOver, write=FOnDragOver};
  289.     __property TEndDragEvent OnEndDrag = {read=FOnEndDrag, write=FOnEndDrag};
  290.     __property TMouseEvent OnMouseDown = {read=FOnMouseDown, write=FOnMouseDown};
  291.     __property TMouseMoveEvent OnMouseMove = {read=FOnMouseMove, write=FOnMouseMove};
  292.     __property TMouseEvent OnMouseUp = {read=FOnMouseUp, write=FOnMouseUp};
  293.     __property TStartDragEvent OnStartDrag = {read=FOnStartDrag, write=FOnStartDrag};
  294.     
  295. public:
  296.     __fastcall virtual TControl(Classes::TComponent* AOwner);
  297.     __fastcall virtual ~TControl(void);
  298.     void __fastcall BeginDrag(bool Immediate);
  299.     void __fastcall BringToFront(void);
  300.     tagPOINT __fastcall ClientToScreen(const tagPOINT &Point);
  301.     bool __fastcall Dragging(void);
  302.     DYNAMIC void __fastcall DragDrop(System::TObject* Source, int X, int Y);
  303.     void __fastcall EndDrag(bool Drop);
  304.     int __fastcall GetTextBuf(char * Buffer, int BufSize);
  305.     int __fastcall GetTextLen(void);
  306.     void __fastcall Hide(void);
  307.     virtual void __fastcall Invalidate(void);
  308.     int __fastcall Perform(Cardinal Msg, int WParam, int LParam);
  309.     void __fastcall Refresh(void);
  310.     virtual void __fastcall Repaint(void);
  311.     tagPOINT __fastcall ScreenToClient(const tagPOINT &Point);
  312.     void __fastcall SendToBack(void);
  313.     virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
  314.     void __fastcall SetTextBuf(char * Buffer);
  315.     void __fastcall Show(void);
  316.     virtual void __fastcall Update(void);
  317.     __property TAlign Align = {read=FAlign, write=SetAlign, default=0};
  318.     __property Windows::TRect BoundsRect = {read=GetBoundsRect, write=SetBoundsRect};
  319.     __property int ClientHeight = {read=GetClientHeight, write=SetClientHeight, stored=false, nodefault
  320.         };
  321.     __property tagPOINT ClientOrigin = {read=GetClientOrigin};
  322.     __property Windows::TRect ClientRect = {read=GetClientRect};
  323.     __property int ClientWidth = {read=GetClientWidth, write=SetClientWidth, stored=false, nodefault};
  324.     __property TControlState ControlState = {read=FControlState, write=FControlState, nodefault};
  325.     __property TControlStyle ControlStyle = {read=FControlStyle, write=FControlStyle, nodefault};
  326.     __property TWinControl* Parent = {read=FParent, write=SetParent};
  327.     __property bool ShowHint = {read=FShowHint, write=SetShowHint, stored=IsShowHintStored, nodefault};
  328.         
  329.     __property bool Visible = {read=FVisible, write=SetVisible, default=1};
  330.     __property bool Enabled = {read=FEnabled, write=SetEnabled, default=1};
  331.     __property TWndMethod WindowProc = {read=FWindowProc, write=FWindowProc};
  332.     
  333. __published:
  334.     __property int Left = {read=FLeft, write=SetLeft, nodefault};
  335.     __property int Top = {read=FTop, write=SetTop, nodefault};
  336.     __property int Width = {read=FWidth, write=SetWidth, nodefault};
  337.     __property int Height = {read=FHeight, write=SetHeight, nodefault};
  338.     __property TCursor Cursor = {read=FCursor, write=SetCursor, default=0};
  339.     __property System::AnsiString Hint = {read=FHint, write=FHint};
  340. };
  341.  
  342. enum TImeMode { imDisable, imClose, imOpen, imDontCare, imSAlpha, imAlpha, imHira, imSKata, imKata, 
  343.     imChinese, imSHanguel, imHanguel };
  344.  
  345. typedef System::AnsiString TImeName;
  346.  
  347. typedef void __fastcall (__closure *TKeyEvent)(System::TObject* Sender, Word &Key, Classes::TShiftState 
  348.     Shift);
  349.  
  350. typedef void __fastcall (__closure *TKeyPressEvent)(System::TObject* Sender, char &Key);
  351.  
  352. typedef short TTabOrder;
  353.  
  354. struct TCMFocusChanged;
  355. struct TCreateParams;
  356. class PASCALIMPLEMENTATION TWinControl : public Controls::TControl 
  357. {
  358.     typedef Controls::TControl inherited;
  359.     
  360. private:
  361.     void *FObjectInstance;
  362.     void *FDefWndProc;
  363.     Classes::TList* FControls;
  364.     Classes::TList* FWinControls;
  365.     Classes::TList* FTabList;
  366.     Graphics::TBrush* FBrush;
  367.     HWND FHandle;
  368.     HWND FParentWindow;
  369.     bool FTabStop;
  370.     bool FCtl3D;
  371.     bool FParentCtl3D;
  372.     bool FShowing;
  373.     int FTabOrder;
  374.     Word FAlignLevel;
  375.     Classes::THelpContext FHelpContext;
  376.     TImeMode FImeMode;
  377.     System::AnsiString FImeName;
  378.     TKeyEvent FOnKeyDown;
  379.     TKeyPressEvent FOnKeyPress;
  380.     TKeyEvent FOnKeyUp;
  381.     Classes::TNotifyEvent FOnEnter;
  382.     Classes::TNotifyEvent FOnExit;
  383.     void __fastcall AlignControl(TControl* AControl);
  384.     TControl* __fastcall GetControl(int Index);
  385.     int __fastcall GetControlCount(void);
  386.     HWND __fastcall GetHandle(void);
  387.     TTabOrder __fastcall GetTabOrder(void);
  388.     HIDESBASE void __fastcall Insert(TControl* AControl);
  389.     void __fastcall InvalidateFrame(void);
  390.     bool __fastcall IsCtl3DStored(void);
  391.     HWND __fastcall PrecedingWindow(TWinControl* Control);
  392.     HIDESBASE void __fastcall Remove(TControl* AControl);
  393.     void __fastcall RemoveFocus(bool Removing);
  394.     void __fastcall SetCtl3D(bool Value);
  395.     void __fastcall SetParentCtl3D(bool Value);
  396.     void __fastcall SetParentWindow(HWND Value);
  397.     void __fastcall SetTabOrder(TTabOrder Value);
  398.     void __fastcall SetTabStop(bool Value);
  399.     HIDESBASE void __fastcall SetZOrderPosition(int Position);
  400.     void __fastcall UpdateTabOrder(TTabOrder Value);
  401.     void __fastcall UpdateBounds(void);
  402.     void __fastcall UpdateShowing(void);
  403.     bool __fastcall IsMenuKey(Messages::TWMKey &Message);
  404.     MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
  405.     MESSAGE void __fastcall WMCommand(Messages::TWMCommand &Message);
  406.     MESSAGE void __fastcall WMNotify(Messages::TWMNotify &Message);
  407.     MESSAGE void __fastcall WMSysColorChange(Messages::TWMNoParams &Message);
  408.     MESSAGE void __fastcall WMHScroll(Messages::TWMScroll &Message);
  409.     MESSAGE void __fastcall WMVScroll(Messages::TWMScroll &Message);
  410.     MESSAGE void __fastcall WMCompareItem(Messages::TWMCompareItem &Message);
  411.     MESSAGE void __fastcall WMDeleteItem(Messages::TWMDeleteItem &Message);
  412.     MESSAGE void __fastcall WMDrawItem(Messages::TWMDrawItem &Message);
  413.     MESSAGE void __fastcall WMMeasureItem(Messages::TWMMeasureItem &Message);
  414.     MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
  415.     MESSAGE void __fastcall WMWindowPosChanged(Messages::TWMWindowPosMsg &Message);
  416.     MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  417.     MESSAGE void __fastcall WMMove(Messages::TWMMove &Message);
  418.     MESSAGE void __fastcall WMSetCursor(Messages::TWMSetCursor &Message);
  419.     MESSAGE void __fastcall WMKeyDown(Messages::TWMKey &Message);
  420.     MESSAGE void __fastcall WMSysKeyDown(Messages::TWMKey &Message);
  421.     MESSAGE void __fastcall WMKeyUp(Messages::TWMKey &Message);
  422.     MESSAGE void __fastcall WMSysKeyUp(Messages::TWMKey &Message);
  423.     MESSAGE void __fastcall WMChar(Messages::TWMKey &Message);
  424.     MESSAGE void __fastcall WMSysCommand(Messages::TWMSysCommand &Message);
  425.     MESSAGE void __fastcall WMCharToItem(Messages::TWMCharToItem &Message);
  426.     MESSAGE void __fastcall WMParentNotify(Messages::TWMParentNotify &Message);
  427.     MESSAGE void __fastcall WMVKeyToItem(Messages::TWMCharToItem &Message);
  428.     MESSAGE void __fastcall WMDestroy(Messages::TWMNoParams &Message);
  429.     MESSAGE void __fastcall WMNCDestroy(Messages::TWMNoParams &Message);
  430.     MESSAGE void __fastcall WMNCHitTest(Messages::TWMNCHitTest &Message);
  431.     MESSAGE void __fastcall WMQueryNewPalette(Messages::TMessage &Message);
  432.     MESSAGE void __fastcall WMPaletteChanged(Messages::TMessage &Message);
  433.     MESSAGE void __fastcall WMWinIniChange(Messages::TMessage &Message);
  434.     MESSAGE void __fastcall WMFontChange(Messages::TMessage &Message);
  435.     MESSAGE void __fastcall WMTimeChange(Messages::TMessage &Message);
  436.     MESSAGE void __fastcall WMSetFocus(Messages::TWMSetFocus &Message);
  437.     MESSAGE void __fastcall WMKillFocus(Messages::TWMSetFocus &Message);
  438.     MESSAGE void __fastcall WMIMEStartComp(Messages::TMessage &Message);
  439.     MESSAGE void __fastcall WMIMEEndComp(Messages::TMessage &Message);
  440.     MESSAGE void __fastcall CMChanged(Messages::TMessage &Message);
  441.     MESSAGE void __fastcall CMChildKey(Messages::TMessage &Message);
  442.     MESSAGE void __fastcall CMDialogKey(Messages::TWMKey &Message);
  443.     MESSAGE void __fastcall CMDialogChar(Messages::TWMKey &Message);
  444.     MESSAGE void __fastcall CMFocusChanged(TCMFocusChanged &Message);
  445.     HIDESBASE MESSAGE void __fastcall CMVisibleChanged(Messages::TMessage &Message);
  446.     HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
  447.     HIDESBASE MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
  448.     HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  449.     MESSAGE void __fastcall CMCursorChanged(Messages::TMessage &Message);
  450.     MESSAGE void __fastcall CMCtl3DChanged(Messages::TMessage &Message);
  451.     MESSAGE void __fastcall CMParentCtl3DChanged(Messages::TMessage &Message);
  452.     MESSAGE void __fastcall CMShowingChanged(Messages::TMessage &Message);
  453.     MESSAGE void __fastcall CMShowHintChanged(Messages::TMessage &Message);
  454.     MESSAGE void __fastcall CMEnter(Messages::TWMNoParams &Message);
  455.     MESSAGE void __fastcall CMExit(Messages::TWMNoParams &Message);
  456.     HIDESBASE MESSAGE void __fastcall CMDesignHitTest(Messages::TWMMouse &Message);
  457.     MESSAGE void __fastcall CMSysColorChange(Messages::TMessage &Message);
  458.     HIDESBASE MESSAGE void __fastcall CMSysFontChanged(Messages::TMessage &Message);
  459.     MESSAGE void __fastcall CMWinIniChange(Messages::TWMWinIniChange &Message);
  460.     MESSAGE void __fastcall CMFontChange(Messages::TMessage &Message);
  461.     MESSAGE void __fastcall CMTimeChange(Messages::TMessage &Message);
  462.     MESSAGE void __fastcall CMDrag(TCMDrag &Message);
  463.     MESSAGE void __fastcall CNKeyDown(Messages::TWMKey &Message);
  464.     MESSAGE void __fastcall CNKeyUp(Messages::TWMKey &Message);
  465.     MESSAGE void __fastcall CNChar(Messages::TWMKey &Message);
  466.     MESSAGE void __fastcall CNSysKeyDown(Messages::TWMKey &Message);
  467.     MESSAGE void __fastcall CNSysChar(Messages::TWMKey &Message);
  468.     MESSAGE void __fastcall CMControlListChange(Messages::TMessage &Message);
  469.     MESSAGE void __fastcall CMRecreateWnd(Messages::TMessage &Message);
  470.     MESSAGE void __fastcall CMInvalidate(Messages::TMessage &Message);
  471.     
  472. protected:
  473.     bool FDoubleBuffered;
  474.     bool FInImeComposition;
  475.     virtual void __fastcall AlignControls(TControl* AControl, Windows::TRect &Rect);
  476.     DYNAMIC void __fastcall ChangeScale(int M, int D);
  477.     virtual void __fastcall CreateHandle(void);
  478.     virtual void __fastcall CreateParams(TCreateParams &Params);
  479.     void __fastcall CreateSubClass(TCreateParams &Params, char * ControlClassName);
  480.     virtual void __fastcall CreateWindowHandle(const TCreateParams &Params);
  481.     virtual void __fastcall CreateWnd(void);
  482.     virtual void __fastcall DefaultHandler(void *Message);
  483.     void __fastcall DestroyHandle(void);
  484.     virtual void __fastcall DestroyWindowHandle(void);
  485.     virtual void __fastcall DestroyWnd(void);
  486.     DYNAMIC void __fastcall DoEnter(void);
  487.     DYNAMIC void __fastcall DoExit(void);
  488.     bool __fastcall DoKeyDown(Messages::TWMKey &Message);
  489.     bool __fastcall DoKeyPress(Messages::TWMKey &Message);
  490.     bool __fastcall DoKeyUp(Messages::TWMKey &Message);
  491.     TWinControl* __fastcall FindNextControl(TWinControl* CurControl, bool GoForward, bool CheckTabStop, 
  492.         bool CheckParent);
  493.     void __fastcall FixupTabList(void);
  494.     DYNAMIC void __fastcall GetChildren(Classes::TGetChildProc Proc, Classes::TComponent* Root);
  495.     virtual tagPOINT __fastcall GetClientOrigin(void);
  496.     virtual Windows::TRect __fastcall GetClientRect(void);
  497.     virtual HDC __fastcall GetDeviceContext(HWND &WindowHandle);
  498.     HWND __fastcall GetParentHandle(void);
  499.     HWND __fastcall GetTopParentHandle(void);
  500.     bool __fastcall IsControlMouseMsg(Messages::TWMMouse &Message);
  501.     DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  502.     DYNAMIC void __fastcall KeyUp(Word &Key, Classes::TShiftState Shift);
  503.     DYNAMIC void __fastcall KeyPress(char &Key);
  504.     void __fastcall MainWndProc(Messages::TMessage &Message);
  505.     void __fastcall NotifyControls(Word Msg);
  506.     void __fastcall PaintControls(HDC DC, TControl* First);
  507.     void __fastcall PaintHandler(Messages::TWMPaint &Message);
  508.     virtual void __fastcall PaintWindow(HDC DC);
  509.     DYNAMIC bool __fastcall PaletteChanged(bool Foreground);
  510.     virtual void __fastcall ReadState(Classes::TReader* Reader);
  511.     void __fastcall RecreateWnd(void);
  512.     void __fastcall ResetIme(void);
  513.     bool __fastcall ResetImeComposition(int Action);
  514.     void __fastcall ScaleControls(int M, int D);
  515.     void __fastcall SelectFirst(void);
  516.     void __fastcall SelectNext(TWinControl* CurControl, bool GoForward, bool CheckTabStop);
  517.     DYNAMIC void __fastcall SetChildOrder(Classes::TComponent* Child, int Order);
  518.     void __fastcall SetIme(void);
  519.     bool __fastcall SetImeCompositionWindow(Graphics::TFont* Font, int XPos, int YPos);
  520.     DYNAMIC void __fastcall SetZOrder(bool TopMost);
  521.     virtual void __fastcall ShowControl(TControl* AControl);
  522.     virtual void __fastcall WndProc(Messages::TMessage &Message);
  523.     __property bool Ctl3D = {read=FCtl3D, write=SetCtl3D, stored=IsCtl3DStored, nodefault};
  524.     __property void * DefWndProc = {read=FDefWndProc, write=FDefWndProc};
  525.     __property TImeMode ImeMode = {read=FImeMode, write=FImeMode, default=3};
  526.     __property System::AnsiString ImeName = {read=FImeName, write=FImeName};
  527.     __property bool ParentCtl3D = {read=FParentCtl3D, write=SetParentCtl3D, default=1};
  528.     __property HWND WindowHandle = {read=FHandle, write=FHandle, nodefault};
  529.     __property Classes::TNotifyEvent OnEnter = {read=FOnEnter, write=FOnEnter};
  530.     __property Classes::TNotifyEvent OnExit = {read=FOnExit, write=FOnExit};
  531.     __property TKeyEvent OnKeyDown = {read=FOnKeyDown, write=FOnKeyDown};
  532.     __property TKeyPressEvent OnKeyPress = {read=FOnKeyPress, write=FOnKeyPress};
  533.     __property TKeyEvent OnKeyUp = {read=FOnKeyUp, write=FOnKeyUp};
  534.     
  535. public:
  536.     __fastcall virtual TWinControl(Classes::TComponent* AOwner);
  537.     __fastcall TWinControl(HWND ParentWindow);
  538.     /*         class method */ static TWinControl* __fastcall CreateParentedControl(System::TMetaClass* vmt
  539.         , int ParentWindow);
  540.     __fastcall virtual ~TWinControl(void);
  541.     void __fastcall Broadcast(void *Message);
  542.     bool __fastcall CanFocus(void);
  543.     bool __fastcall ContainsControl(TControl* Control);
  544.     TControl* __fastcall ControlAtPos(const tagPOINT &Pos, bool AllowDisabled);
  545.     void __fastcall DisableAlign(void);
  546.     void __fastcall EnableAlign(void);
  547.     bool __fastcall Focused(void);
  548.     DYNAMIC void __fastcall GetTabOrderList(Classes::TList* List);
  549.     bool __fastcall HandleAllocated(void);
  550.     void __fastcall HandleNeeded(void);
  551.     void __fastcall InsertControl(TControl* AControl);
  552.     virtual void __fastcall Invalidate(void);
  553.     void __fastcall PaintTo(HDC DC, int X, int Y);
  554.     void __fastcall RemoveControl(TControl* AControl);
  555.     void __fastcall Realign(void);
  556.     virtual void __fastcall Repaint(void);
  557.     void __fastcall ScaleBy(int M, int D);
  558.     void __fastcall ScrollBy(int DeltaX, int DeltaY);
  559.     virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
  560.     virtual void __fastcall SetFocus(void);
  561.     virtual void __fastcall Update(void);
  562.     void __fastcall UpdateControlState(void);
  563.     __property Graphics::TBrush* Brush = {read=FBrush};
  564.     __property TControl* Controls[int Index] = {read=GetControl};
  565.     __property int ControlCount = {read=GetControlCount, nodefault};
  566.     __property HWND Handle = {read=GetHandle, nodefault};
  567.     __property HWND ParentWindow = {read=FParentWindow, write=SetParentWindow, nodefault};
  568.     __property bool Showing = {read=FShowing, nodefault};
  569.     __property TTabOrder TabOrder = {read=GetTabOrder, write=SetTabOrder, default=-1};
  570.     __property bool TabStop = {read=FTabStop, write=SetTabStop, default=0};
  571.     
  572. __published:
  573.     __property Classes::THelpContext HelpContext = {read=FHelpContext, write=FHelpContext, default=0};
  574. };
  575.  
  576.  
  577. struct TCMCancelMode
  578. {
  579.     Cardinal Msg;
  580.     int Unused;
  581.     TControl* Sender;
  582.     int Result;
  583. } ;
  584.  
  585. struct TCMFocusChanged
  586. {
  587.     Cardinal Msg;
  588.     int Unused;
  589.     TWinControl* Sender;
  590.     int Result;
  591. } ;
  592.  
  593. struct TCMControlListChange
  594. {
  595.     Cardinal Msg;
  596.     TControl* Control;
  597.     BOOL Inserting;
  598.     int Result;
  599. } ;
  600.  
  601. struct TCMChildKey
  602. {
  603.     Cardinal Msg;
  604.     Word CharCode;
  605.     Word Unused;
  606.     TWinControl* Sender;
  607.     int Result;
  608. } ;
  609.  
  610. struct TCMControlChange
  611. {
  612.     Cardinal Msg;
  613.     TControl* Control;
  614.     BOOL Inserting;
  615.     int Result;
  616. } ;
  617.  
  618. struct TCMChanged
  619. {
  620.     Cardinal Msg;
  621.     int Unused;
  622.     TControl* Child;
  623.     int Result;
  624. } ;
  625.  
  626. enum TDragMessage { dmDragEnter, dmDragLeave, dmDragMove, dmDragDrop, dmDragCancel, dmFindTarget };
  627.  
  628. struct TDragRec;
  629. typedef TDragRec *PDragRec;
  630.  
  631. struct TDragRec
  632. {
  633.     tagPOINT Pos;
  634.     TDragObject* Source;
  635.     void *Target;
  636. } ;
  637.  
  638. #pragma pack(push, 1)
  639. struct TCMDrag
  640. {
  641.     Cardinal Msg;
  642.     TDragMessage DragMessage;
  643.     Byte Reserved1;
  644.     Word Reserved2;
  645.     TDragRec *DragRec;
  646.     int Result;
  647. } ;
  648. #pragma pack(pop)
  649.  
  650. class PASCALIMPLEMENTATION TDragObject : public System::TObject 
  651. {
  652.     typedef System::TObject inherited;
  653.     
  654. private:
  655.     void __fastcall MouseMsg(Messages::TMessage &Msg);
  656.     HWND __fastcall Capture(void);
  657.     void __fastcall ReleaseCapture(HWND Handle);
  658.     
  659. protected:
  660.     virtual TCustomImageList* __fastcall GetDragImages(void);
  661.     virtual TCursor __fastcall GetDragCursor(bool Accepted, int X, int Y);
  662.     virtual void __fastcall Finished(System::TObject* Target, int X, int Y, bool Accepted);
  663.     
  664. public:
  665.     virtual int __fastcall Instance(void);
  666.     virtual System::AnsiString __fastcall GetName(void);
  667.     virtual void __fastcall HideDragImage(void);
  668.     virtual void __fastcall ShowDragImage(void);
  669. public:
  670.     /* TObject.Create */ __fastcall TDragObject(void) : System::TObject() { }
  671.     /* TObject.Destroy */ __fastcall virtual ~TDragObject(void) { }
  672.     
  673. };
  674.  
  675. class DELPHICLASS TDragControlObject;
  676. class PASCALIMPLEMENTATION TDragControlObject : public Controls::TDragObject 
  677. {
  678.     typedef Controls::TDragObject inherited;
  679.     
  680. private:
  681.     TControl* FControl;
  682.     
  683. protected:
  684.     virtual TCustomImageList* __fastcall GetDragImages(void);
  685.     virtual TCursor __fastcall GetDragCursor(bool Accepted, int X, int Y);
  686.     virtual void __fastcall Finished(System::TObject* Target, int X, int Y, bool Accepted);
  687.     
  688. public:
  689.     __fastcall TDragControlObject(TControl* AControl);
  690.     __property TControl* Control = {read=FControl};
  691.     virtual void __fastcall HideDragImage(void);
  692.     virtual void __fastcall ShowDragImage(void);
  693. public:
  694.     /* TObject.Destroy */ __fastcall virtual ~TDragControlObject(void) { }
  695.     
  696. };
  697.  
  698. class DELPHICLASS TControlCanvas;
  699. class PASCALIMPLEMENTATION TControlCanvas : public Graphics::TCanvas 
  700. {
  701.     typedef Graphics::TCanvas inherited;
  702.     
  703. private:
  704.     TControl* FControl;
  705.     HDC FDeviceContext;
  706.     HWND FWindowHandle;
  707.     void __fastcall SetControl(TControl* AControl);
  708.     
  709. protected:
  710.     virtual void __fastcall CreateHandle(void);
  711.     
  712. public:
  713.     __fastcall virtual ~TControlCanvas(void);
  714.     void __fastcall FreeHandle(void);
  715.     __property TControl* Control = {read=FControl, write=SetControl};
  716. public:
  717.     /* TCanvas.Create */ __fastcall TControlCanvas(void) : Graphics::TCanvas() { }
  718.     
  719. };
  720.  
  721. typedef System::TMetaClass*TControlClass;
  722.  
  723. struct TCreateParams
  724. {
  725.     char *Caption;
  726.     int Style;
  727.     int ExStyle;
  728.     int X;
  729.     int Y;
  730.     int Width;
  731.     int Height;
  732.     HWND WndParent;
  733.     void *Param;
  734.     tagWNDCLASSA WindowClass;
  735.     char WinClassName[64];
  736. } ;
  737.  
  738. typedef System::TMetaClass*TWinControlClass;
  739.  
  740. class DELPHICLASS TGraphicControl;
  741. class PASCALIMPLEMENTATION TGraphicControl : public Controls::TControl 
  742. {
  743.     typedef Controls::TControl inherited;
  744.     
  745. private:
  746.     Graphics::TCanvas* FCanvas;
  747.     MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
  748.     
  749. protected:
  750.     virtual void __fastcall Paint(void);
  751.     __property Graphics::TCanvas* Canvas = {read=FCanvas};
  752.     
  753. public:
  754.     __fastcall virtual TGraphicControl(Classes::TComponent* AOwner);
  755.     __fastcall virtual ~TGraphicControl(void);
  756. };
  757.  
  758. class DELPHICLASS TCustomControl;
  759. class PASCALIMPLEMENTATION TCustomControl : public Controls::TWinControl 
  760. {
  761.     typedef Controls::TWinControl inherited;
  762.     
  763. private:
  764.     Graphics::TCanvas* FCanvas;
  765.     HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
  766.     
  767. protected:
  768.     virtual void __fastcall Paint(void);
  769.     virtual void __fastcall PaintWindow(HDC DC);
  770.     __property Graphics::TCanvas* Canvas = {read=FCanvas};
  771.     
  772. public:
  773.     __fastcall virtual TCustomControl(Classes::TComponent* AOwner);
  774.     __fastcall virtual ~TCustomControl(void);
  775. public:
  776.     /* TWinControl.CreateParented */ __fastcall TCustomControl(HWND ParentWindow) : Controls::TWinControl(
  777.         ParentWindow) { }
  778.     
  779. };
  780.  
  781. class DELPHICLASS THintWindow;
  782. class PASCALIMPLEMENTATION THintWindow : public Controls::TCustomControl 
  783. {
  784.     typedef Controls::TCustomControl inherited;
  785.     
  786. private:
  787.     HIDESBASE MESSAGE void __fastcall WMNCHitTest(Messages::TWMNCHitTest &Message);
  788.     MESSAGE void __fastcall WMNCPaint(Messages::TMessage &Message);
  789.     MESSAGE void __fastcall CMTextChanged(Messages::TMessage &Message);
  790.     
  791. protected:
  792.     virtual void __fastcall CreateParams(TCreateParams &Params);
  793.     virtual void __fastcall Paint(void);
  794.     
  795. public:
  796.     __fastcall virtual THintWindow(Classes::TComponent* AOwner);
  797.     virtual void __fastcall ActivateHint(const Windows::TRect &Rect, const System::AnsiString AHint);
  798.     virtual void __fastcall ActivateHintData(const Windows::TRect &Rect, const System::AnsiString AHint
  799.         , void * AData);
  800.     virtual Windows::TRect __fastcall CalcHintRect(int MaxWidth, const System::AnsiString AHint, void * 
  801.         AData);
  802.     virtual bool __fastcall IsHintMsg(tagMSG &Msg);
  803.     void __fastcall ReleaseHandle(void);
  804.     __property Caption ;
  805.     __property Color ;
  806.     __property Canvas ;
  807. public:
  808.     /* TCustomControl.Destroy */ __fastcall virtual ~THintWindow(void) { }
  809.     
  810. public:
  811.     /* TWinControl.CreateParented */ __fastcall THintWindow(HWND ParentWindow) : Controls::TCustomControl(
  812.         ParentWindow) { }
  813.     
  814. };
  815.  
  816. typedef System::TMetaClass*THintWindowClass;
  817.  
  818. class DELPHICLASS TChangeLink;
  819. class PASCALIMPLEMENTATION TChangeLink : public System::TObject 
  820. {
  821.     typedef System::TObject inherited;
  822.     
  823. private:
  824.     TCustomImageList* FSender;
  825.     Classes::TNotifyEvent FOnChange;
  826.     
  827. public:
  828.     __fastcall virtual ~TChangeLink(void);
  829.     DYNAMIC void __fastcall Change(void);
  830.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  831.     __property TCustomImageList* Sender = {read=FSender, write=FSender};
  832. public:
  833.     /* TObject.Create */ __fastcall TChangeLink(void) : System::TObject() { }
  834.     
  835. };
  836.  
  837. enum TDrawingStyle { dsFocus, dsSelected, dsNormal, dsTransparent };
  838.  
  839. enum TImageType { itImage, itMask };
  840.  
  841. enum TResType { rtBitmap, rtCursor, rtIcon };
  842.  
  843. typedef Shortint TOverlay;
  844.  
  845. enum TLoadResource { lrDefaultColor, lrDefaultSize, lrFromFile, lrMap3DColors, lrTransparent, lrMonoChrome 
  846.     };
  847.  
  848. typedef Set<TLoadResource, lrDefaultColor, lrMonoChrome>  TLoadResources;
  849.  
  850. class PASCALIMPLEMENTATION TCustomImageList : public Classes::TComponent 
  851. {
  852.     typedef Classes::TComponent inherited;
  853.     
  854. private:
  855.     int FHeight;
  856.     int FWidth;
  857.     int FAllocBy;
  858.     int FHandle;
  859.     TDrawingStyle FDrawingStyle;
  860.     bool FMasked;
  861.     bool FShareImages;
  862.     TImageType FImageType;
  863.     Graphics::TColor FBkColor;
  864.     Graphics::TColor FBlendColor;
  865.     Classes::TList* FClients;
  866.     HWND FDragHandle;
  867.     bool FDragging;
  868.     TCursor FDragCursor;
  869.     Graphics::TBitmap* FBitmap;
  870.     Classes::TNotifyEvent FOnChange;
  871.     int FDragIndex;
  872.     tagPOINT FDragHotspot;
  873.     virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
  874.     void __fastcall InitBitmap(void);
  875.     void __fastcall CheckImage(Graphics::TGraphic* Image);
  876.     void __fastcall CombineDragCursor(void);
  877.     void __fastcall CopyImages(int Value);
  878.     void __fastcall CreateImageList(void);
  879.     bool __fastcall Equal(TCustomImageList* IL);
  880.     void __fastcall FreeHandle(void);
  881.     int __fastcall GetCount(void);
  882.     HBITMAP __fastcall GetBitmapHandle(HBITMAP Bitmap);
  883.     Graphics::TColor __fastcall GetBkColor(void);
  884.     int __fastcall GetHandle(void);
  885.     HBITMAP __fastcall GetImageHandle(Graphics::TBitmap* Image, Graphics::TBitmap* ImageDDB);
  886.     void __fastcall InsertImage(int Index, Graphics::TBitmap* Image, Graphics::TBitmap* Mask, Graphics::TColor 
  887.         MaskColor);
  888.     void __fastcall ReadData(Classes::TStream* Stream);
  889.     void __fastcall SetBkColor(Graphics::TColor Value);
  890.     void __fastcall SetDragCursor(TCursor Value);
  891.     void __fastcall SetHandle(int Value);
  892.     void __fastcall SetHeight(int Value);
  893.     void __fastcall SetNewDimensions(int Value);
  894.     void __fastcall SetWidth(int Value);
  895.     void __fastcall WriteData(Classes::TStream* Stream);
  896.     void __fastcall ReadD2Stream(Classes::TStream* Stream);
  897.     void __fastcall ReadD3Stream(Classes::TStream* Stream);
  898.     
  899. protected:
  900.     DYNAMIC void __fastcall Change(void);
  901.     virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
  902.     void __fastcall GetImages(int Index, Graphics::TBitmap* Image, Graphics::TBitmap* Mask);
  903.     void __fastcall HandleNeeded(void);
  904.     void __fastcall Initialize(void);
  905.     __property Graphics::TColor BlendColor = {read=FBlendColor, write=FBlendColor, default=536870911};
  906.     __property Graphics::TColor BkColor = {read=GetBkColor, write=SetBkColor, default=536870911};
  907.     __property int AllocBy = {read=FAllocBy, write=FAllocBy, default=4};
  908.     __property TDrawingStyle DrawingStyle = {read=FDrawingStyle, write=FDrawingStyle, default=2};
  909.     __property int Height = {read=FHeight, write=SetHeight, default=16};
  910.     __property TImageType ImageType = {read=FImageType, write=FImageType, default=0};
  911.     __property bool Masked = {read=FMasked, write=FMasked, default=1};
  912.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  913.     __property bool ShareImages = {read=FShareImages, write=FShareImages, default=0};
  914.     __property int Width = {read=FWidth, write=SetWidth, default=16};
  915.     
  916. public:
  917.     __fastcall virtual TCustomImageList(Classes::TComponent* AOwner);
  918.     __fastcall TCustomImageList(int AWidth, int AHeight);
  919.     __fastcall virtual ~TCustomImageList(void);
  920.     virtual void __fastcall Assign(Classes::TPersistent* Source);
  921.     int __fastcall Add(Graphics::TBitmap* Image, Graphics::TBitmap* Mask);
  922.     int __fastcall AddIcon(Graphics::TIcon* Image);
  923.     void __fastcall AddImages(TCustomImageList* Value);
  924.     int __fastcall AddMasked(Graphics::TBitmap* Image, Graphics::TColor MaskColor);
  925.     bool __fastcall BeginDrag(HWND Window, int X, int Y);
  926.     void __fastcall Clear(void);
  927.     void __fastcall Delete(int Index);
  928.     bool __fastcall DragLock(HWND Window, int XPos, int YPos);
  929.     bool __fastcall DragMove(int X, int Y);
  930.     void __fastcall DragUnlock(void);
  931.     void __fastcall Draw(Graphics::TCanvas* Canvas, int X, int Y, int Index);
  932.     void __fastcall DrawOverlay(Graphics::TCanvas* Canvas, int X, int Y, int ImageIndex, TOverlay Overlay
  933.         );
  934.     bool __fastcall EndDrag(void);
  935.     bool __fastcall FileLoad(TResType ResType, System::AnsiString Name, Graphics::TColor MaskColor);
  936.     void __fastcall GetBitmap(int Index, Graphics::TBitmap* Image);
  937.     tagPOINT __fastcall GetHotSpot(void);
  938.     void __fastcall GetIcon(int Index, Graphics::TIcon* Image);
  939.     HBITMAP __fastcall GetImageBitmap(void);
  940.     HBITMAP __fastcall GetMaskBitmap(void);
  941.     bool __fastcall GetResource(TResType ResType, System::AnsiString Name, int Width, TLoadResources LoadFlags
  942.         , Graphics::TColor MaskColor);
  943.     bool __fastcall GetInstRes(int Instance, TResType ResType, System::AnsiString Name, int Width, TLoadResources 
  944.         LoadFlags, Graphics::TColor MaskColor);
  945.     bool __fastcall HandleAllocated(void);
  946.     void __fastcall HideDragImage(void);
  947.     HIDESBASE void __fastcall Insert(int Index, Graphics::TBitmap* Image, Graphics::TBitmap* Mask);
  948.     void __fastcall InsertIcon(int Index, Graphics::TIcon* Image);
  949.     void __fastcall InsertMasked(int Index, Graphics::TBitmap* Image, Graphics::TColor MaskColor);
  950.     void __fastcall Move(int CurIndex, int NewIndex);
  951.     bool __fastcall Overlay(int ImageIndex, TOverlay Overlay);
  952.     void __fastcall RegisterChanges(TChangeLink* Value);
  953.     bool __fastcall ResourceLoad(TResType ResType, System::AnsiString Name, Graphics::TColor MaskColor)
  954.         ;
  955.     bool __fastcall ResInstLoad(int Instance, TResType ResType, System::AnsiString Name, Graphics::TColor 
  956.         MaskColor);
  957.     void __fastcall Replace(int Index, Graphics::TBitmap* Image, Graphics::TBitmap* Mask);
  958.     void __fastcall ReplaceIcon(int Index, Graphics::TIcon* Image);
  959.     void __fastcall ReplaceMasked(int Index, Graphics::TBitmap* NewImage, Graphics::TColor MaskColor);
  960.     bool __fastcall SetDragImage(int Index, int HotSpotX, int HotSpotY);
  961.     void __fastcall ShowDragImage(void);
  962.     void __fastcall UnRegisterChanges(TChangeLink* Value);
  963.     __property int Count = {read=GetCount, nodefault};
  964.     __property TCursor DragCursor = {read=FDragCursor, write=SetDragCursor, nodefault};
  965.     __property bool Dragging = {read=FDragging, nodefault};
  966.     __property int Handle = {read=GetHandle, write=SetHandle, nodefault};
  967. };
  968.  
  969. class DELPHICLASS TImageList;
  970. class PASCALIMPLEMENTATION TImageList : public Controls::TCustomImageList 
  971. {
  972.     typedef Controls::TCustomImageList inherited;
  973.     
  974. __published:
  975.     __property BlendColor ;
  976.     __property BkColor ;
  977.     __property AllocBy ;
  978.     __property DrawingStyle ;
  979.     __property Height ;
  980.     __property ImageType ;
  981.     __property Masked ;
  982.     __property OnChange ;
  983.     __property ShareImages ;
  984.     __property Width ;
  985. public:
  986.     /* TCustomImageList.Create */ __fastcall virtual TImageList(Classes::TComponent* AOwner) : Controls::
  987.         TCustomImageList(AOwner) { }
  988.     /* TCustomImageList.CreateSize */ __fastcall TImageList(int AWidth, int AHeight) : Controls::TCustomImageList(
  989.         AWidth, AHeight) { }
  990.     /* TCustomImageList.Destroy */ __fastcall virtual ~TImageList(void) { }
  991.     
  992. };
  993.  
  994. //-- var, const, procedure ---------------------------------------------------
  995. #define CM_BASE (int)(45056)
  996. #define CM_ACTIVATE (int)(45056)
  997. #define CM_DEACTIVATE (int)(45057)
  998. #define CM_GOTFOCUS (int)(45058)
  999. #define CM_LOSTFOCUS (int)(45059)
  1000. #define CM_CANCELMODE (int)(45060)
  1001. #define CM_DIALOGKEY (int)(45061)
  1002. #define CM_DIALOGCHAR (int)(45062)
  1003. #define CM_FOCUSCHANGED (int)(45063)
  1004. #define CM_PARENTFONTCHANGED (int)(45064)
  1005. #define CM_PARENTCOLORCHANGED (int)(45065)
  1006. #define CM_HITTEST (int)(45066)
  1007. #define CM_VISIBLECHANGED (int)(45067)
  1008. #define CM_ENABLEDCHANGED (int)(45068)
  1009. #define CM_COLORCHANGED (int)(45069)
  1010. #define CM_FONTCHANGED (int)(45070)
  1011. #define CM_CURSORCHANGED (int)(45071)
  1012. #define CM_CTL3DCHANGED (int)(45072)
  1013. #define CM_PARENTCTL3DCHANGED (int)(45073)
  1014. #define CM_TEXTCHANGED (int)(45074)
  1015. #define CM_MOUSEENTER (int)(45075)
  1016. #define CM_MOUSELEAVE (int)(45076)
  1017. #define CM_MENUCHANGED (int)(45077)
  1018. #define CM_APPKEYDOWN (int)(45078)
  1019. #define CM_APPSYSCOMMAND (int)(45079)
  1020. #define CM_BUTTONPRESSED (int)(45080)
  1021. #define CM_SHOWINGCHANGED (int)(45081)
  1022. #define CM_ENTER (int)(45082)
  1023. #define CM_EXIT (int)(45083)
  1024. #define CM_DESIGNHITTEST (int)(45084)
  1025. #define CM_ICONCHANGED (int)(45085)
  1026. #define CM_WANTSPECIALKEY (int)(45086)
  1027. #define CM_INVOKEHELP (int)(45087)
  1028. #define CM_WINDOWHOOK (int)(45088)
  1029. #define CM_RELEASE (int)(45089)
  1030. #define CM_SHOWHINTCHANGED (int)(45090)
  1031. #define CM_PARENTSHOWHINTCHANGED (int)(45091)
  1032. #define CM_SYSCOLORCHANGE (int)(45092)
  1033. #define CM_WININICHANGE (int)(45093)
  1034. #define CM_FONTCHANGE (int)(45094)
  1035. #define CM_TIMECHANGE (int)(45095)
  1036. #define CM_TABSTOPCHANGED (int)(45096)
  1037. #define CM_UIACTIVATE (int)(45097)
  1038. #define CM_UIDEACTIVATE (int)(45098)
  1039. #define CM_DOCWINDOWACTIVATE (int)(45099)
  1040. #define CM_CONTROLLISTCHANGE (int)(45100)
  1041. #define CM_GETDATALINK (int)(45101)
  1042. #define CM_CHILDKEY (int)(45102)
  1043. #define CM_DRAG (int)(45103)
  1044. #define CM_HINTSHOW (int)(45104)
  1045. #define CM_DIALOGHANDLE (int)(45105)
  1046. #define CM_ISTOOLCONTROL (int)(45106)
  1047. #define CM_RECREATEWND (int)(45107)
  1048. #define CM_INVALIDATE (int)(45108)
  1049. #define CM_SYSFONTCHANGED (int)(45109)
  1050. #define CM_CONTROLCHANGE (int)(45110)
  1051. #define CM_CHANGED (int)(45111)
  1052. #define CN_BASE (int)(48128)
  1053. #define CN_CHARTOITEM (int)(48175)
  1054. #define CN_COMMAND (int)(48401)
  1055. #define CN_COMPAREITEM (int)(48185)
  1056. #define CN_CTLCOLORBTN (int)(48437)
  1057. #define CN_CTLCOLORDLG (int)(48438)
  1058. #define CN_CTLCOLOREDIT (int)(48435)
  1059. #define CN_CTLCOLORLISTBOX (int)(48436)
  1060. #define CN_CTLCOLORMSGBOX (int)(48434)
  1061. #define CN_CTLCOLORSCROLLBAR (int)(48439)
  1062. #define CN_CTLCOLORSTATIC (int)(48440)
  1063. #define CN_DELETEITEM (int)(48173)
  1064. #define CN_DRAWITEM (int)(48171)
  1065. #define CN_HSCROLL (int)(48404)
  1066. #define CN_MEASUREITEM (int)(48172)
  1067. #define CN_PARENTNOTIFY (int)(48656)
  1068. #define CN_VKEYTOITEM (int)(48174)
  1069. #define CN_VSCROLL (int)(48405)
  1070. #define CN_KEYDOWN (int)(48384)
  1071. #define CN_KEYUP (int)(48385)
  1072. #define CN_CHAR (int)(48386)
  1073. #define CN_SYSKEYDOWN (int)(48388)
  1074. #define CN_SYSCHAR (int)(48390)
  1075. #define CN_NOTIFY (int)(48206)
  1076. #define mrNone (Byte)(0)
  1077. #define mrOk (Byte)(1)
  1078. #define mrCancel (Byte)(2)
  1079. #define mrAbort (Byte)(3)
  1080. #define mrRetry (Byte)(4)
  1081. #define mrIgnore (Byte)(5)
  1082. #define mrYes (Byte)(6)
  1083. #define mrNo (Byte)(7)
  1084. #define mrAll (Byte)(8)
  1085. #define mrNoToAll (Byte)(9)
  1086. #define mrYesToAll (Byte)(10)
  1087. #define crDefault (TCursor)(0)
  1088. #define crNone (TCursor)(-1)
  1089. #define crArrow (TCursor)(-2)
  1090. #define crCross (TCursor)(-3)
  1091. #define crIBeam (TCursor)(-4)
  1092. #define crSize (TCursor)(-5)
  1093. #define crSizeNESW (TCursor)(-6)
  1094. #define crSizeNS (TCursor)(-7)
  1095. #define crSizeNWSE (TCursor)(-8)
  1096. #define crSizeWE (TCursor)(-9)
  1097. #define crUpArrow (TCursor)(-10)
  1098. #define crHourGlass (TCursor)(-11)
  1099. #define crDrag (TCursor)(-12)
  1100. #define crNoDrop (TCursor)(-13)
  1101. #define crHSplit (TCursor)(-14)
  1102. #define crVSplit (TCursor)(-15)
  1103. #define crMultiDrag (TCursor)(-16)
  1104. #define crSQLWait (TCursor)(-17)
  1105. #define crNo (TCursor)(-18)
  1106. #define crAppStart (TCursor)(-19)
  1107. #define crHelp (TCursor)(-20)
  1108. #define crHandPoint (TCursor)(-21)
  1109. #define crSizeAll (TCursor)(-22)
  1110. extern PACKAGE TWinControl* CreationControl;
  1111. #define CTL3D_ALL (int)(65535)
  1112. extern PACKAGE bool NewStyleControls;
  1113. extern PACKAGE int __stdcall InitWndProc(HWND HWindow, int Message, int WParam, int LParam);
  1114. extern PACKAGE TWinControl* __fastcall FindControl(HWND Handle);
  1115. extern PACKAGE int __fastcall SendAppMessage(Cardinal Msg, int WParam, int LParam);
  1116. extern PACKAGE System::AnsiString __fastcall CursorToString(TCursor Cursor);
  1117. extern PACKAGE TCursor __fastcall StringToCursor(const System::AnsiString S);
  1118. extern PACKAGE void __fastcall GetCursorValues(Classes::TGetStrProc Proc);
  1119. extern PACKAGE bool __fastcall CursorToIdent(int Cursor, System::AnsiString &Ident);
  1120. extern PACKAGE bool __fastcall IdentToCursor(const System::AnsiString Ident, int &Cursor);
  1121. extern PACKAGE System::AnsiString __fastcall GetShortHint(const System::AnsiString Hint);
  1122. extern PACKAGE System::AnsiString __fastcall GetLongHint(const System::AnsiString Hint);
  1123. extern PACKAGE TControl* __fastcall GetCaptureControl(void);
  1124. extern PACKAGE void __fastcall SetCaptureControl(TControl* Control);
  1125. extern PACKAGE bool __fastcall IsDragObject(System::TObject* Sender);
  1126. extern PACKAGE void __fastcall CancelDrag(void);
  1127. extern PACKAGE TWinControl* __fastcall FindVCLWindow(const tagPOINT &Pos);
  1128. extern PACKAGE TControl* __fastcall FindDragTarget(const tagPOINT &Pos, bool AllowDisabled);
  1129. extern PACKAGE void __fastcall MoveWindowOrg(HDC DC, int DX, int DY);
  1130. extern PACKAGE bool __fastcall Win32NLSEnableIME(HWND hWnd, bool Enable);
  1131. extern PACKAGE void __fastcall SetImeMode(HWND hWnd, TImeMode Mode);
  1132. extern PACKAGE void __fastcall SetImeName(System::AnsiString Name);
  1133. extern PACKAGE int __fastcall Imm32GetContext(HWND hWnd);
  1134. extern PACKAGE bool __fastcall Imm32ReleaseContext(HWND hWnd, int hImc);
  1135. extern PACKAGE bool __fastcall Imm32GetConversionStatus(int hImc, int &Conversion, int &Sentence);
  1136. extern PACKAGE bool __fastcall Imm32SetConversionStatus(int hImc, int Conversion, int Sentence);
  1137. extern PACKAGE bool __fastcall Imm32SetOpenStatus(int hImc, bool fOpen);
  1138. extern PACKAGE bool __fastcall Imm32SetCompositionWindow(int hImc, Imm::PCompositionForm lpCompForm)
  1139.     ;
  1140. extern PACKAGE bool __fastcall Imm32SetCompositionFont(int hImc, Windows::PLogFontA lpLogfont);
  1141. extern PACKAGE int __fastcall Imm32GetCompositionString(int hImc, int dWord1, void * lpBuf, int dwBufLen
  1142.     );
  1143. extern PACKAGE bool __fastcall Imm32IsIME(HKL hKl);
  1144. extern PACKAGE bool __fastcall Imm32NotifyIME(int hImc, int dwAction, int dwIndex, int dwValue);
  1145.  
  1146. }    /* namespace Controls */
  1147. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  1148. using namespace Controls;
  1149. #endif
  1150. //-- end unit ----------------------------------------------------------------
  1151. #endif    // Controls
  1152.